Skip to content

Maintain web client release notes locally (#1081)#1082

Merged
cugarteblair merged 1 commit into
mainfrom
issue-1081-local-release-notes
Jun 9, 2026
Merged

Maintain web client release notes locally (#1081)#1082
cugarteblair merged 1 commit into
mainfrom
issue-1081-local-release-notes

Conversation

@cugarteblair

Copy link
Copy Markdown
Member

Closes #1081.

Maintains web-client release notes locally in this repo — versioned with the code, bundled into the client, and shown in their own landing-page tab — instead of relying on the central SlideRule docs. Notes are generated from git log at tag time and mirrored to GitHub Releases.

What changed

Release-notes content

  • New web-client/src/assets/content/release-notes/ with one Markdown file per version (vX.Y.Z.md), seeded with v4.4.4v4.5.2 backfilled from their real commit ranges + tag dates.

UILandingView.vue

  • Tabs are now About · Contact · SlideRule Releases · Web Client Releases.
  • SlideRule Releases keeps the existing remote docs scrape (platform/server notes).
  • Web Client Releases (new) loads the bundled markdown via import.meta.glob(... ?raw) and reuses the existing marked + DOMPurify list→detail UI. Detail view links "View on GitHub ↗" to the release tag.
  • docLinks.ts: added webClient repo/tags links.

Tagging / release tooling

  • New gen-release-notes.sh: generates a version's notes from the commit subjects since the previous tag. Idempotent (preserves a hand-edited draft; --force to regenerate).
  • New publish-gh-release.sh: mirrors the committed notes to a GitHub Release. Non-fatal — warns and skips if gh is missing/unauthenticated, so it never blocks a deploy.
  • VITE_VERSION.sh: generates + commits the notes file before creating the tag, so the tag (and the build's VITE_APP_VERSION) include it.
  • Makefile: src-tag-and-push now calls publish-gh-release.sh; added a gen-release-notes target for curating a draft before release.

DocsREADME.md: documents the test-first release workflow (release-live-update-to-testsliderule VERSION=… → verify → live-update-slideruleearth) and how release notes are maintained.

Release flow

make release-live-update-to-testsliderule VERSION=v4.5.3   # tag + gen/commit notes + GitHub Release + deploy to test
# verify on testsliderule.org
make live-update-slideruleearth                            # redeploy same tag to production (no re-tag)

The tag, the committed notes file, and the GitHub Release are created once (in the test step); production just rebuilds the existing tag.

Verification

  • make typecheck ✓ · make lint ✓ · make test-unit ✓ (194 passed) · make build
  • Confirmed the seeded notes text and the new tab label are bundled into the LandingView chunk.
  • Generator dry-run, idempotency skip, and the publish-gh-release.sh non-fatal guard all exercised locally.

🤖 Generated with Claude Code

Maintain web-client release notes in this repo as per-version Markdown files,
bundled into the client and shown in a dedicated landing-page tab, generated
from git log at tag time and mirrored to GitHub Releases.

- gen-release-notes.sh: generate web-client/src/assets/content/release-notes/
  <vX.Y.Z>.md from the commit subjects since the previous tag (idempotent;
  --force to regenerate). Seeded v4.4.4–v4.5.2 from real commit ranges.
- publish-gh-release.sh: mirror the committed notes to a GitHub Release;
  non-fatal if gh is missing/unauthenticated so it never blocks a deploy.
- VITE_VERSION.sh: generate + commit the notes file before creating the tag,
  so the tag (and the build's VITE_APP_VERSION) include it.
- Makefile: call publish-gh-release.sh in src-tag-and-push; add a
  gen-release-notes target for curating a draft before release.
- LandingView.vue: tabs are now About / Contact / SlideRule Releases (existing
  remote scrape) / Web Client Releases (new, loads bundled markdown via
  import.meta.glob, reusing the marked/DOMPurify list-detail UI).
- docLinks.ts: add webClient repo/tags links for the "View on GitHub" link.
- README.md: document the test-first release + release-notes workflow.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@cugarteblair
cugarteblair merged commit 6c2f877 into main Jun 9, 2026
1 check passed
@cugarteblair
cugarteblair deleted the issue-1081-local-release-notes branch June 9, 2026 15:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Maintain web client release notes locally in the repo (built and distributed with the client)

1 participant